const Controllers = require('../controllers/index');
const validate = require('../middlewares/validate');

const routes = [
  {
    // 获取所有字典
    path: '/getDicts',
    method: 'post',
    validate: validate({
      'dictMap': 'required|array',
    }),
    controller: Controllers.getDicts
  },
  {
    // 商品列表
    path: '/api/getCommodityList',
    method: 'post',
    validate: validate({
      'pageNum': 'required|number',
      'pageSize': 'required|number',
    }),
    controller: Controllers.getCommodityList
  },
  {
    // 商品列表
    path: '/getCommodityList',
    method: 'post',
    validate: validate({
      'pageNum': 'required|number',
      'pageSize': 'required|number',
    }),
    controller: Controllers.getCommodityList
  },
  {
    // 商品详情
    path: '/api/commodityById',
    method: 'get',
    validate: validate({
      'id': 'required',
    }),
    controller: Controllers.commodityById
  },
  {
    // 商品详情
    path: '/commodityById',
    method: 'get',
    validate: validate({
      'id': 'required',
    }),
    controller: Controllers.commodityById
  },
  {
    // 账号分类列表
    path: '/commodityCateList',
    method: 'get',
    validate: validate(),
    controller: Controllers.getCommodityCate
  },
  {
    // 添加账号
    path: '/api/addCommodity',
    method: 'post',
    validate: validate({
      'title': 'required|string', // 标题
      'number': 'required', // 编号
      'price': 'required|number', // 价格
      'fans_price': 'required|number', // 粉丝单价
      'category': 'required|array', // 账号类目
      'auth_status': 'required|number', // 认证状态
      'fans_bias': 'required|number', // 粉丝偏向
      'fans_age': 'required|array', // 粉丝年龄
      'fans_num': 'required|number', // 粉丝数量
      'shop_status': 'required|number', // 橱窗状态
      'has_violation': 'required|number', // 有无违规
      // 'chart_real': 'required|number', // 星图实名
      'chart_auth': 'required|number', // 星图权限
      'live_auth': 'required|number', // 直播权限
      // 'is_hot': 'required|number', // 是否热门
      'commodity_cate_id': 'required|number', // 账号分类
      'status': 'required|number', // 上架状态 
      "admin_user_id": 'required|number', // 上架人
    }),
    controller: Controllers.addCommodity
  },
  {
    // 修改账号
    path: '/api/updateCommodity',
    method: 'post',
    validate: validate({
      'title': 'required|string', // 标题
      'number': 'required', // 编号
      'price': 'required|number', // 价格
      'fans_price': 'required|number', // 粉丝单价
      'category': 'required|array', // 账号类目
      'auth_status': 'required|number', // 认证状态
      'fans_bias': 'required|number', // 粉丝偏向
      'fans_age': 'required|array', // 粉丝年龄
      'fans_num': 'required|number', // 粉丝数量
      'shop_status': 'required|number', // 橱窗状态
      'has_violation': 'required|number', // 有无违规
      // 'chart_real': 'required|number', // 星图实名
      'chart_auth': 'required|number', // 星图权限
      'live_auth': 'required|number', // 直播权限
      // 'is_hot': 'required|number', // 是否热门
      'commodity_cate_id': 'required|number', // 账号分类
      'status': 'required|number', // 上架状态 
      "admin_user_id": 'required|number', // 上架人
    }),
    controller: Controllers.updateCommodity
  },
  {
    // 删除账号
    path: '/api/deleteCommodityById',
    method: 'get',
    validate: validate({
      'id': 'required',
    }),
    controller: Controllers.deleteCommodityById
  },
  {
    // 修改账号热门状态
    path: '/api/changeCommodityHot',
    method: 'post',
    validate: validate({
      'id': 'required',
      'is_hot': 'required',
    }),
    controller: Controllers.changeCommodityHot
  },
  {
    // 修改账号上架状态
    path: '/api/changeCommodityStatus',
    method: 'post',
    validate: validate({
      'id': 'required',
      'status': 'required',
    }),
    controller: Controllers.changeCommodityStatus
  },
];

module.exports = routes;